home *** CD-ROM | disk | FTP | other *** search
/ Alles Voor Internet / Tout Pour Internet / alles voor internet.iso / MacInternet™ / Mail / POPmail / MailCall / mailchk.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-07  |  1.3 KB  |  66 lines  |  [TEXT/UNIX]

  1. #include <stdio.h>
  2. #include <syslog.h>
  3. #include <sys/types.h> 
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <arpa/inet.h>
  7. #define MAILBUFSIZE  (64)
  8. main(argc, argv)
  9. int argc;
  10. char **argv;
  11.   {
  12.     int i,j;
  13.     char fbp[MAILBUFSIZE];  
  14.     FILE *pfile;
  15.     int fromlen;
  16.     struct sockaddr_in from;
  17.  char *MAILCK ="/bin/grep -c '^From ' /usr/mail/.                                                                                 ";
  18.  
  19.     
  20. fromlen = sizeof( from );
  21.     if( recvfrom( 0, fbp, MAILBUFSIZE, 0, (struct sockaddr *) &from, &
  22. fromlen ) == -1 )
  23.       {
  24.         exit( 1 );
  25.       }
  26.  
  27. /* Put user name into command */
  28. /* find the . in the string */
  29. for (i=0; MAILCK[i] !='.';i++);
  30.  
  31. for (j=0; fbp[j] !='\0';){
  32. MAILCK[i]=fbp[j];
  33. i++;
  34. j++;
  35. }
  36. /* Open a pipe and look in mail file for To: user lines */
  37. /* Each To: line is one mail message. Pretty simple */
  38.  pfile = popen(MAILCK, "r" );
  39.     if( !pfile )
  40.       {
  41.         exit( 1 );
  42.       }
  43.   /*  for (i=0; MAILBUFSIZE;)  */
  44.     for (i=0; i<MAILBUFSIZE;)
  45.       {
  46.         fbp[i] = getc( pfile ); 
  47.       /*  if( fbp[i] == EOF ) */
  48.     if (fbp[i]== '\n')
  49.           {
  50.             fbp[i] = '\0'; 
  51.             break;
  52.           }
  53.                 i++;
  54.       }
  55.    if (pclose( pfile ))
  56.     fbp[0]='\0'; 
  57. if (fbp[0]=='\0'){
  58. fbp[0]='0';
  59. fbp[1]='\0';
  60. i=1;
  61. }
  62.       
  63.  sendto( 0,fbp,i,  0, &from, fromlen );
  64. exit(0);
  65.   }
  66.